// ActivexTest.cpp : Implementation of CActivexTestApp and DLL registration.

#include "stdafx.h"
#include "ActivexTest.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


CActivexTestApp theApp;

const GUID CDECL BASED_CODE _tlid =
		{ 0x7C254CFF, 0x12BA, 0x475E, { 0x89, 0xC8, 0xC0, 0x11, 0x23, 0x41, 0xAA, 0xC8 } };
const WORD _wVerMajor = 1;
const WORD _wVerMinor = 0;



// CActivexTestApp::InitInstance - DLL initialization

BOOL CActivexTestApp::InitInstance()
{
	BOOL bInit = COleControlModule::InitInstance();
	if (!AfxSocketInit())
	{
		AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
		return FALSE;
	}
	WSADATA wsaData;
	WSAStartup(MAKEWORD(1,1),&wsaData);
	if (bInit)
	{
		// TODO: Add your own module initialization code here.
	}

	return bInit;
}



// CActivexTestApp::ExitInstance - DLL termination

int CActivexTestApp::ExitInstance()
{
	// TODO: Add your own module termination code here.
	WSACleanup();
	return COleControlModule::ExitInstance();
}



// DllRegisterServer - Adds entries to the system registry

STDAPI DllRegisterServer(void)
{
	AFX_MANAGE_STATE(_afxModuleAddrThis);

	if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
		return ResultFromScode(SELFREG_E_TYPELIB);

	if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
		return ResultFromScode(SELFREG_E_CLASS);

	return NOERROR;
}



// DllUnregisterServer - Removes entries from the system registry

STDAPI DllUnregisterServer(void)
{
	AFX_MANAGE_STATE(_afxModuleAddrThis);

	if (!AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor))
		return ResultFromScode(SELFREG_E_TYPELIB);

	if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))
		return ResultFromScode(SELFREG_E_CLASS);

	return NOERROR;
}
